import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Clase BalaMedusa aquí.
 * 
 * @author  Jesús Aurelio Hrnández Aguilar
 * @version 04/07/13
 */
public class BalaMedusa extends Actor
{
    private GreenfootImage []imagenes;
    private int Dir;
    private boolean band;
    public BalaMedusa(int unaDireccion)
    {
         imagenes=new GreenfootImage[2];
         imagenes[0]=new GreenfootImage("flecha11.png");
         imagenes[1]=new GreenfootImage("flecah22.png");
         setImage(imagenes[1]);
         Dir=unaDireccion;
        
    }

    public void act() 
    {
        mueve();
    }    

    public void mueve()
    {
        //System.out.println(band);
        int pic=Greenfoot.getRandomNumber(1);
        switch(Dir) 
        {
            case 1://Derecha
            if(Checa())
            {
                setImage(imagenes[pic]);
                setLocation(getX()+20,getY());
            }
            break;
            case 2://Abajo
            if(Checa())
            {
                setImage(imagenes[pic]);
                setLocation(getX(),getY()+20);
            }
            break;
            case 3://Izquierda
            if(Checa())
            {
                setImage(imagenes[pic]);
                setLocation(getX()-20,getY());
            }
            break;
            case 4://Arriba
            if(Checa())
            {
                setImage(imagenes[pic]);
                setLocation(getX(),getY()-20);
            }
            break;
        }
    }

    public boolean Checa()
    {
         band=false;
        Actor Xpos=null;
        Xpos=this.getOneObjectAtOffset(6,0,Caja.class);
        Actor Xneg=null;
        Xneg=this.getOneObjectAtOffset(-6,0,Caja.class);
        Actor Ypos=null;
        Ypos=this.getOneObjectAtOffset(0,6,Caja.class);
        Actor Yneg=null;
        Yneg=this.getOneObjectAtOffset(0,-6,Caja.class);
        if(Xpos==null)//Derecha
        //Se puede Avanzar
            band=true;
        if(Xneg==null)//Izquierda
            band=true;
        if(Ypos==null)//Abajo
            band=true;
        if(Yneg==null)//Arriba
            band=true;
        return band;
    }
    public boolean getBand()
    {
        return band;
    }
}
